Systems and methods for artificial intelligence (ai) three-dimensional modeling

ABSTRACT

An Artificial Intelligence (AI) three-dimensional modeling system that analyzes and segments imagery of a room, generates a three-dimensional model of the room from the segmented imagery, identifies objects within the room, and conducts an assessment of the room based on the identified objects.

CROSS-REFERENCE TO RELATED APPLICATIONS

Benefit and priority under 35 U.S.C. § 120 is hereby claimed to, andthis is a Continuation of, U.S. patent application Ser. No. 17/353,008filed on Jun. 21, 2021 and titled “SYSTEMS AND METHODS FOR ARTIFICIALINTELLIGENCE (AI) THREE-DIMENSIONAL MODELING”, which issued as U.S. Pat.No. ______ on ______, which is hereby incorporated by reference hereinin its entirety.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

BACKGROUND

Various types of assessments are based on layouts or contents ofstructures. Room sizes, furnishings, wall or floor covering materials,finishes, etc., may be utilized, for example, to evaluate or estimatevariable values for a variety of purposes, such as construction ormaintenance estimations, insurance coverage or claims evaluations,appraisal processes, or safety inspections (e.g., municipalinspections). Manual measurement processes have largely been replaced byadvancing technologies, such as Light Detection and Ranging (LiDAR),mobile photogrammetry, or Augmented Reality (AR) programs. Each of theseoptions provides certain benefits but is also subject to variousdeficiencies. While LiDAR and mobile photogrammetry offer preciseresults, for example, the hardware and software required for suchsolutions remains expensive and requires significant training toproperly employ. AR programs, which may be available for execution onconsumer electronic devices, such as smart phones, offer a lower costand more easily operated solution, but provide limited precision whileconsuming large amounts of data storage, processing power, or networkbandwidth.

BRIEF DESCRIPTION OF THE DRAWINGS

The figures depict embodiments for purposes of illustration only. Oneskilled in the art will readily recognize from the following descriptionthat alternative embodiments of the systems and methods illustratedherein may be employed without departing from the principles describedherein, wherein:

FIG. 1 is a block diagram of a system according to some embodiments;

FIG. 2 is a diagram of a system according to some embodiments;

FIG. 3 is a diagram of an example panoramic image according to someembodiments

FIG. 4 is a flow diagram of a method according to some embodiments;

FIG. 5 is a perspective diagram of three-dimensional model according tosome embodiments;

FIG. 6 is a flow diagram of a method according to some embodiments;

FIG. 7 is a diagram of a system providing an example interface accordingto some embodiments;

FIG. 8 is a block diagram of an apparatus according to some embodiments;and

FIG. 9A, FIG. 9B, FIG. 9C, FIG. 9D, and FIG. 9E are perspective diagramsof exemplary data storage devices according to some embodiments.

DETAILED DESCRIPTION I. Introduction

Existing computerized systems for evaluating structural spaces (e.g.,rooms of a building) either require expensive and complicatedspecialized hardware (e.g., LiDAR equipment, stereo camera, and/or 3-Dcameras) or provide inaccurate estimations. Each of these existingmethods also requires significant memory storage, intensive dataprocessing power, and/or high networking bandwidth.

In accordance with embodiments herein, these and other deficiencies ofexisting systems are remedied by providing systems, apparatus, methods,and articles of manufacture for Artificial Intelligence (AI)three-dimensional modeling that analyze and segment imagery of a room,generate a three-dimensional model of the room from the segmentedimagery, identify objects within the room, and/or conduct an assessmentof the room based on the identified objects. In some embodiments, forexample, three-dimensional modeling may comprise (i) acquiring aplurality of images (and/or a panoramic image) of a location, (ii)identifying (e.g., utilizing AI image processing logic) corners in theimage(s), (iii) identifying (e.g., utilizing AI image processing logic)a camera location (e.g., from which the image(s) were acquired), (iv)identifying (e.g., utilizing AI image processing logic) walls (e.g.,boundaries of the location) from the image(s), (v) cutting (e.g.,utilizing AI image processing logic) the walls from the image(s), (vi)normalizing (e.g., utilizing AI image processing logic) the walls, (vii)defining an array of coordinates bounding and/or describing thelocation, (viii) projecting the image(s) into a 3-D environment, (ix)identifying a plurality of objects at the location, (x) classifying eachobject, (xi) identifying a rule for each object (e.g., based on theclassification), (xii) determining whether to acquire a measurementrelated to the object(s), (xiii) identifying a measurement (e.g., ifrequired) related to one or more of the objects, (xiv) determiningwhether the rule has been met, (xv) recording a deviation (e.g., in thecase that a rule is not met), (xvi) calculating an assessment, (xvii)determining whether additional rules need to be evaluated, (xviii)determining whether more objects need to be evaluated, and/or (xix)outputting the assessment (and/or an indication thereof).

In accordance with some embodiments, the application of AIthree-dimensional modeling as described herein may provide a reductionin computer processing resources, a reduction in necessary memorystorage requirements, and other technical improvements. The particularAI three-dimensional modeling systems and methods described herein may,for example, permit available processing and memory resources to beutilized to achieve accurate structural area and/or location assessmentswithout requiring complicated hardware, large capital outlays, and/orspecialized training. According to some embodiments, an untrained enduser may be guided through the data acquisition process through a remotetelepresence session and/or AI-driven prompts. In such a manner, forexample, specialized personnel and equipment may no longer be necessaryto conduct structural area and/or location assessments, greatly reducingcosts, reducing the amount of time required to conduct an assessment,and/or reducing bandwidth constraints in electronic networks.

II. AI Three-Dimensional Modeling Systems

Referring first to FIG. 1 , a block diagram of a system 100 according tosome embodiments is shown. In some embodiments, the system 100 maycomprise a user device 102 communicatively coupled to a network 104. Insome embodiments, the user device 102 and/or the network 104 may also oralternatively be coupled to a sensor, such as an imaging device 106,that is disposed to capture data descriptive of a location 108.According to some embodiments, the user device 102 and/or the imagingdevice 106 may be in communication with (e.g., via the network 104) acontroller device 110. In some embodiments, the imaging device 106 maycapture and/or acquire data descriptive of one or more objects 130 a-nat the location 108 and/or may provide indications of the data to one ormore of the user device 102 and the controller device 110. According tosome embodiments, the controller device 110, the user device 102, and/orthe imaging device 106 may be in communication with (e.g., via thenetwork 104) a memory device 140 (e.g., storing AI logic 142). Inaccordance with various embodiments herein, the user device 102 may beutilized to direct, manage, and/or interface with the imaging device 106to capture imagery (and/or other sensor data) of the location 108 and/orthe one or more objects 130 a-n thereof. In some embodiments, thecaptured imagery/data may be provided from the imaging device 106 to theuser device 102 (and/or the controller device 110) for imagery/sensordata analysis and execution of stored analysis rules and/or logic (e.g.,the AI logic 142). In such a manner, for example, data descriptive ofthe objects 130 a-n may be input into the system 100 and utilized tocompute analytic metrics (e.g., an assessment) for the location 108and/or the one or more objects 130 a-n, such as an indication of amonetary value, risk level, and/or a determination (e.g., anunderwriting and/or claim outcome determination).

Fewer or more components 102, 104, 106, 108, 110, 130 a-n, 140, 142and/or various configurations of the depicted components 102, 104, 106,108, 110, 130 a-n, 140, 142 may be included in the system 100 withoutdeviating from the scope of embodiments described herein. In someembodiments, the components 102, 104, 106, 108, 110, 130 a-n, 140, 142may be similar in configuration and/or functionality to similarly namedand/or numbered components as described herein. In some embodiments, thesystem 100 (and/or portions thereof) may comprise an automatic AIthree-dimensional modeling program, system, and/or platform programmedand/or otherwise configured to execute, conduct, and/or facilitate themethods/processes 400, 600 of FIG. 4 and/or FIG. 6 herein, and/orportions or combinations thereof.

The user device 102, in some embodiments, may comprise any type orconfiguration of computing, mobile electronic, network, user, and/orcommunication device that is or becomes known or practicable. The userdevice 102 may, for example, comprise one or more tablet computers, suchas an iPad® manufactured by Apple®, Inc. of Cupertino, Calif., and/orcellular and/or wireless telephones or “smart” phones, such as aniPhone® (also manufactured by Apple®, Inc.) or an Optimus™ S smart phonemanufactured by LG® Electronics, Inc. of San Diego, Calif., and runningthe Android® operating system from Google®, Inc. of Mountain View,Calif. In some embodiments, the user device 102 may comprise one or moredevices owned and/or operated by one or more users, such as a homeowner,risk manager, underwriter, community association staff, realtor,contractor, etc. According to some embodiments, the user device 102 maycommunicate with the controller device 110 via the network 104 toprovide imagery and/or other data captured by the imaging device 106 foranalysis and/or assessment of the location 108, as described herein.According to some embodiments, the user device 102 may store and/orexecute specially programmed instructions (such as a mobile deviceapplication) to operate in accordance with embodiments described herein.The user device 102 may, for example, execute one or more mobile deviceprograms that activate and/or control the imaging device 106 and/or thatanalyze imagery and/or other data of the location 108 and/or the objects130 a-n, e.g., to identify one or more of the objects 130 a-n, identifyone or more rules associated with the objects 130 a-n, evaluate the oneor more rules, and/or compute an assessment based on the evaluation ofthe rules.

The network 104 may, according to some embodiments, comprise a LocalArea Network (LAN; wireless and/or wired), cellular telephone,Bluetooth® and/or Bluetooth Low Energy (BLE), Near Field Communication(NFC), and/or Radio Frequency (RF) network with communication linksbetween the controller device 110, the user device 102, the imagingdevice 106, and/or the memory device 140. In some embodiments, thenetwork 104 may comprise direct communications links between any or allof the components 102, 106, 110, 140 of the system 100. The user device102 may, for example, be directly interfaced or connected to one or moreof the imaging device 106 and/or the controller device 110 via one ormore wires, cables, wireless links, and/or other network components,such network components (e.g., communication links) comprising portionsof the network 104. In some embodiments, the network 104 may compriseone or many other links or network components other than those depictedin FIG. 1 . The user device 102 and/or the imaging device 106 may, forexample, be connected to the controller device 110 via various celltowers, routers, repeaters, ports, switches, and/or other networkcomponents that comprise the Internet and/or a cellular telephone(and/or Public Switched Telephone Network (PSTN)) network, and whichcomprise portions of the network 104.

While the network 104 is depicted in FIG. 1 as a single object, thenetwork 104 may comprise any number, type, and/or configuration ofnetworks that is or becomes known or practicable. According to someembodiments, the network 104 may comprise a conglomeration of differentsub-networks and/or network components interconnected, directly orindirectly, by the components 102, 106, 110, 140 of the system 100. Thenetwork 104 may comprise one or more cellular telephone networks withcommunication links between the user device 102, the imaging device 106,and the controller device 110, for example, and/or may comprise a BLE,NFC, RF, and/or “personal” network comprising short-range wirelesscommunications between the user device 102 and the imaging device 106,for example.

The imaging device 106, in some embodiments, may comprise any type orconfiguration of device, vehicle, sensor, and/or object that is capableof capturing imagery and/or other data descriptive of the location 108and/or the objects 130 a-n thereof. The imaging device 106 may comprise,for example, a camera coupled to and/or integral with the user device102, such as the Pro 12MP or Dual 12MP camera available on the iPhone®12 Pro or iPhone® 12, respectively. In some embodiments, the imagerydevice 106 may comprise a stand-alone device (e.g., separate from theuser device 102), such as an iXM-RS150F/iXM-RS100F full frame ultra-highresolution aerial camera capable of capturing three or four band imagerydata (e.g., RGB plus Near IR) at an image resolution of 14204×10625pixels, available from PhaseOne Industrial of Frederiksberg, Denmark.The imagery and/or other data captured by the imaging device 106 maygenerally comprise any type, quantity, and/or format of photographic,video, and/or other sensor data descriptive of the location 108 and/orthe objects 130 a-n thereof. According to some embodiments, the datacaptured and/or acquired by the imaging device 106 may comprise one ormore images descriptive of a three hundred and sixty-degree (360°) fieldof view at the location 108, such as a plurality of individual imagestaken at different bearings from a given position and/or a singlepanoramic image taken from the given position. In some embodiments, theimaging device 106 may also or alternatively comprise a server and/ordatastore that is configured to provide the imagery and/or other datadescriptive of the location 108 and/or the objects 130 a-n. The imagingdevice 106 may comprise, for example, a third-party and/or vendor deviceconfigured to supply imagery and/or other sensor data acquired fromvarious cameras, sensors, and/or other sources.

According to some embodiments, the location 108 may comprise anylocation desired for analysis and/or assessment, such as a location ofan insured object/structure, a location of a customer, a location of anaccount and/or business, etc. In some embodiments, the location 108 maybe identified by one or more location parameters, such as an address,postal code, map quadrant, and/or one or more coordinates and/or otheridentifiers (e.g., a unique geo-referenced location identifier).According to some embodiments, the location 108 may comprise the one ormore objects 130 a-n. In the case that the location 108 comprises a room(or other interior structural space), for example, the objects 130 a-nmay comprise various furnishings (e.g., moveable objects, such ascouches (e.g., sofas), chairs, tables, lamps, rugs, etc.), materials,such as flooring or wall coverings (e.g., structural finishing),fixtures (e.g., plumbing, electrical, and/or other fixtures), and/orfeatures, such as windows, doors, doorways, niches, coffers, stairways,fireplaces, etc.

In some embodiments, the controller device 110 may comprise anelectronic and/or computerized controller device, such as a computerserver and/or server cluster communicatively coupled to interface withthe user device 102 and/or the imaging device 106 (directly and/orindirectly). The controller device 110 may, for example, comprise one ormore PowerEdge™ M910 blade servers manufactured by Dell®, Inc. of RoundRock, Tex., which may include one or more Eight-Core Intel® Xeon® 7500Series electronic processing devices. According to some embodiments, thecontroller device 110 may be located remotely from one or more of theuser device 102 and the imaging device 106. The controller device 110may also or alternatively comprise a plurality of electronic processingdevices located at one or more various sites and/or locations (e.g., adistributed computing and/or processing network), such as the location108.

According to some embodiments, the controller device 110 may storeand/or execute specially-programmed instructions to operate inaccordance with embodiments described herein. The controller device 110may, for example, execute one or more programs that facilitate and/orcause the automatic detection, verification, data capture, and/or dataanalysis of the location 108 and/or the objects 130 a-n, as describedherein. According to some embodiments, the controller device 110 maycomprise a computerized processing device, such as a PC, laptopcomputer, computer server, and/or other network or electronic device,operated to manage and/or facilitate AI three-dimensional modeling inaccordance with embodiments described herein.

In some embodiments, the controller device 110, the user device 102,and/or the imaging device 106 may be in communication with the memorydevice 140. The memory device 140 may store, for example, mobile deviceapplication data, discrete object data, insurance policy data, damageestimation data, location data (such as coordinates, distances, etc.),security access protocol and/or verification data, polygon and/ortemplate data, scoring data, qualitative assessment data and/or logic,and/or instructions that cause various devices (e.g., the controllerdevice 110, the user device 102, and/or the imaging device 106) tooperate in accordance with embodiments described herein. In someembodiments, the memory device 140 may comprise any type, configuration,and/or quantity of data storage devices that are or become known orpracticable. The memory device 140 may, for example, comprise an arrayof optical and/or solid-state hard drives configured to store datadescriptive of the objects 130 a-n, device identifier data, datadescriptive of the location 108, AI logic and/or training data, imageanalysis data, image processing data, and/or damage estimation dataprovided by (and/or requested by) the user device 102 and/or thecontroller device 110, and/or various operating instructions, drivers,etc. In some embodiments, the memory device 140 may comprise astand-alone and/or networked data storage device, such as a solid-stateand/or non-volatile memory card (e.g., a Secure Digital (SD) card, suchas an SD Standard-Capacity (SDSC), an SD High-Capacity (SDHC), and/or anSD eXtended-Capacity (SDXC), and any various practicable form-factors,such as original, mini, and micro sizes, such as those available fromWestern Digital Corporation of San Jose, Calif.). While the memorydevice 140 is depicted as a stand-alone component of the system 100 inFIG. 1 , the memory device 140 may comprise multiple components. In someembodiments, a multi-component memory device 140 may be distributedacross various devices and/or may comprise remotely dispersedcomponents. Any or all of the user device 102, the imaging device 106,and/or the controller device 110 may comprise the memory device 140 or aportion thereof, for example.

Turning to FIG. 2 , a diagram of a system 200 according to someembodiments is shown. In some embodiments, the system 200 may comprisean AI-driven three-dimensional modeling system similar to the system ofFIG. 1 herein. The system 200 may comprise, for example, one or moreuser devices 202 a-b, a camera 206 disposed to capture data descriptiveof a location 208, and/or a server 210. According to some embodiments, afirst user device 202 a may comprise a mobile electronic device, such asa smart phone, equipped with a built-in camera 206. In some embodiments,the camera 206 may be utilized (e.g., as directed and/or controlled bythe first user device 202 a) to acquire image data from the location208, such as a panoramic image 230. While the panoramic image 230 isdepicted for ease of explanation, in some embodiments the panoramicimage 230 may comprise a plurality of related and/or overlapping images,a stitched image, and/or other data elements, such as coordinate,distance, location, temperature, color, and/or other data arrays,matrices, lists, etc.

According to some embodiments, a second user device 202 b may beutilized to access and/or control the server 210 and/or to interfacewith the first user device 202 a. In some embodiments, the server 210may coordinate and/or broker communications between the user devices 202a-b. The second user device 202 b may, for example, be utilized toprovide instructions, commands, prompts, and/or other data to the firstuser device 202 a, such data being descriptive of desired information tobe captured and/or acquired from the location 208. According to someembodiments, the first user device 202 a comprises a mobile electronicdevice (as depicted) disposed at or proximate to the location 208 thatis operated by a first user (not shown), such as an unskilled user—e.g.,a customer, account holder, consumer, and/or homeowner. In someembodiments, the second user device 202 b may comprise a device remotefrom the location 208 that is operated by a second user (also notshown), such as a skilled or trained user—e.g., an underwriter, a claimsadjuster, a contractor, engineer, etc. In such embodiments, the seconduser may utilize the second user device 202 b to provide direction,requests, and/or instruction to the first user utilizing the first userdevice 202 a. In such a manner, for example, the second user may assistand/or direct the first user in conducting the tasks (e.g., local to thefirst user device 202 a) that should be accomplished to acquire desiredinformation descriptive of the location 208—e.g., the panoramic image230.

In some embodiments, data captured and/or acquired by the first userdevice 202 a and/or by the camera 206 may be transmitted from the firstuser device 202 a to the server 210. Once acquired, for example, thepanoramic image 230 and/or data descriptive thereof (e.g., tags,metadata) may be transmitted from the first user device 202 a to theserver 210 (e.g., via a wireless network; not shown). According to someembodiments, the server 210 may forward and/or provide the data (e.g.,the panoramic image 230) to the second user device 202 b and/or mayconduct an assessment of the location 208 based on the acquired data.The server 210 may, for example, access a data storage device 240storing a plurality of instructions 242 a-e. In some embodiments, theserver 210 may execute one or more of the instructions 242 a-e toanalyze and/or assess the data (e.g., the panoramic image 230) providedby the camera 206. The server 210 may, for example, execute a first orimage capture Graphical User Interface (GUI) logic 242 a to provide aGUI to the first user device 202 a. The GUI may, in some embodiments,provide instructions, prompts, and/or may incorporate feedback (e.g.,messages, notes) from the second user device 202 b, directed toacquiring the panoramic image 230 by the camera 206. Such a GUI may, forexample, provide on-screen prompts (not shown) such as bounding boxes,directional queues, etc., that facilitate the capturing of the panoramicimage 230 (and/or of other data).

According to some embodiments, the server 210 may execute a second or AIlogic 242 b. The AI logic 242 b may, for example, define instructionsthat are operable to locate corners, identify a position of the camera206 (e.g., at a time when the panoramic image 230 is captured), identifywalls, ceilings, and/or floors, normalize any identified walls,ceilings, and/or floors, define an array of coordinates and/or pointsdescriptive of the location 208, and/or conduct an assessment of thelocation 208. In some embodiments, the AI logic 206 may compriseinstructions developed automatically by operation of an AI process thatis seeded with a training data set (not shown). The AI logic 242 b maybe trained, for example, utilizing a plurality of other images (notshown) and associated analysis and/or assessment results, such that theAI logic 242 b may effectively reverse engineer and/or derive a set ofrules, thresholds, and/or decision trees. According to some embodiments,the AI logic 242 b may be utilized to parse the panoramic image 230 intosegments representing the various three-dimensional components of astructural space at the location 208 (e.g., in a standard rectilinearroom, four (4) walls, a ceiling, and/or a floor).

In some embodiments, the server 210 may execute a third or modelinglogic 242 c. The modeling logic 242 c may, for example, comprise rulesdefining how structural space inputs (e.g., data defining walls,ceilings, and/or floors) are processed to generate a three-dimensionalprojection and/or representation of the location 208. The modeling logic242 c may input results from the AI logic 242 b, for example, and mayprocess the results to create a three-dimensional projectionrepresenting the location 208. According to some embodiments, the server210 may execute a fourth or Augmented Reality (AR) telepresence logic242 d that manages and/or permits communications with the second userdevice 202 b. The AR telepresence logic 242 d may, for example,establish communications between the user devices 202 a-b to permit auser of the second user device 202 b to instruct and/or guide a user ofthe first user device 202 a, e.g., via one or more AR prompts (notshown). In some embodiments, the AR telepresence logic 242 d may providethe three-dimensional projection and/or model generated by the modelinglogic 242 c to one or more of the user devices 202 a-b.

According to some embodiments, the server 210 may execute a fifth orcalculation logic 242 e. The calculation logic 242 e may, for example,comprise a plurality of spatial distance and/or referential formulasthat are operable to act upon coordinate inputs (such as an array ofcoordinates provided by the AI logic 242 b) to calculate variousdistances, dimensions, ratios, sizes, etc. In some embodiments, thecalculation logic 242 e may be executed in coordination with the imagecapture GUI logic 242 a, the AI logic 242 b, the modeling logic 242 c,and/or the AR telepresence logic 242 d, to permit a user to interactwith one or more of the panoramic image 230, deconstructed portions ofthe panoramic image 230, and/or a three-dimensional model of thelocation 208 (e.g., derived from the panoramic image 230), to measureand/or calculate relational data metrics. The calculation logic 242 emay be utilized, for example, to measure distances between objects (notseparately numbered in FIG. 2 ) and/or across or between variousportions of the three-dimensional model of the location 208.

Fewer or more components 202 a-b, 206, 208, 210, 230, 240, 242 a-eand/or various configurations of the depicted components 202 a-b, 206,208, 210, 230, 240, 242 a-e may be included in the system 200 withoutdeviating from the scope of embodiments described herein. In someembodiments, the components 202 a-b, 206, 208, 210, 230, 240, 242 a-emay be similar in configuration and/or functionality to similarly namedand/or numbered components as described herein. In some embodiments, thesystem 200 (and/or portions thereof) may comprise an automatic AIthree-dimensional modeling program, system, and/or platform programmedand/or otherwise configured to execute, conduct, and/or facilitate themethods/processes 400, 600 of FIG. 4 and/or FIG. 6 herein, and/orportions or combinations thereof.

Referring now to FIG. 3 , a diagram of an example panoramic image 330according to some embodiments is shown. In some embodiments, the examplepanoramic image 330 (referred to as the “image” 330, for ease ofreference) may comprise a captured and/or recorded depiction (graphical,numerical, and/or referential) of a location, such as a room in abuilding (or other property, parcel, etc.), as depicted in FIG. 3 fornon-limiting purposes of example. In some embodiments, the panoramicimage 330 may comprise a plurality of features and/or characteristicsthat are identified by an image processing application, such as anAI-enabled object recognition program. In some embodiments, the examplepanoramic image 330 may comprise and/or define, for example, a pluralityof corner regions 332 a-d, a plurality of wall regions 334 a-d, aplurality of features 336 a-b, and/or a plurality of objects 338 a-c.

According to some embodiments, any or all of thefeatures/characteristics 332 a-d, 334 a-d, 336 a-b, 338 a-c may beutilized by processes described herein to effectuate AIthree-dimensional modeling. An AI image analysis and/orthree-dimensional modeling program may, for example, process the examplepanoramic image 330 and identify the plurality of corner regions 332a-d, e.g., based on application of corner region identification logic.The AI program may be coded, in some embodiments, to evaluate linesand/or patterns within the example panoramic image 330 to identify theplurality of corner regions 332 a-d. While the plurality of cornerregions 332 a-d are depicted as areas having a visible width dimensionfor ease of illustration, in some embodiments the plurality of cornerregions 332 a-d may comprise discrete lines identified in and/orprojected on the example panoramic image 330. The AI program mayidentify, by analyzing curvatures of junction lines between variousportions of the example panoramic image 330, for example, a plurality ofpoints where the curvature and/or angle suggests the existence of one ofthe plurality of corner regions 332 a-d. The AI program may scanmultiple portions of the example panoramic image 330 and identifymultiple sets of such points. According to some embodiments, the AIprogram may mathematically analyze the sets of points to determineand/or identify any correlations, and discrete sets of correlated pointsmay identify individual corner regions 332 a-d. In some embodiments,such as in the case that it is presumed that the example panoramic image330 is descriptive of a room having four (4) corner regions 332 a-d(e.g., a rectilinear geometry), the AI program may rank analysis resultsto identify the four (4) most highly scoring or ranking sets ofidentified points as the corner regions 332 a-d.

In some embodiments, areas and/or portions of the example panoramicimage 330 that are situated between adjacent corner regions 332 a-d maybe identified (e.g., by the AI program) as comprising the wall regions334 a-d. The corner regions 332 a-d may, for example, identifytransition points between different wall regions 334 a-d. According tosome embodiments, the AI program may identify the wall regions 334 a-dby segmenting the example panoramic image 330 utilizing the cornerregions 332 a-d as break lines. In some embodiments, the wall regions334 a-d may be further segmented and/or trimmed by removing portions(not depicted) identified as corresponding to ceiling and floor areas.According to some embodiments, the wall regions 334 a-d may benormalized. Distortions of the example panoramic image 330 due to lenscharacteristics of the acquiring device (not shown), inaccurate imagestitching (in the case that the example panoramic image 330 comprise aplurality of combined images), and/or parallax, for example, may beidentified and processed through one or more correction algorithms toconvert the distorted example panoramic image 330 (or portions thereof,such as the wall regions 334 a-d) into an orthographic format.

According to some embodiments, lines, patterns, and/or pixels in theexample panoramic image 330 may be analyzed (e.g., by the AI program) toidentify one or more of the features 336 a-b. The example panoramicimage 330 may be systematically analyzed, for example, to identifypatterns that match patterns and/or characteristics stored in memory(e.g., a database; not shown). The AI program may analyze the examplepanoramic image 330 and identify a match between stored feature data anda first feature 336 a, for example. According to some embodiments, thematching of the geometries and/or image artifacts (e.g., lines, colors,pixels, hue, saturation, etc.) may permit a cross-reference to acategorization of the first feature 336 a. Stored data may relate thefirst feature 336 a to a stored indication of a doorway, for example,and/or to a specific type of architectural feature. In some embodiments,AI image processing may also or alternatively identify and/or classify asecond feature 336 b as a window, or as depicted, a bay window.According to some embodiments, the relative spatial relationshipsbetween the identified features 336 a-b, wall regions 334 a-d, and/orcorner regions 332 a-d may be identified, measured, and/or calculated.Each feature 336 a-b may be tagged and/or associated with (e.g., viastored data relationships) a particular corresponding wall region 334a-d, for example, or in the case of the second feature/window 336 b thatspans multiple wall regions 334 a-d, it may be tagged and/or associatedwith each of the respective and/or corresponding first, second, andfourth wall regions 334 a, b, and d (and/or with corner regions 332 aand 332 d).

In some embodiments, various objects 338 a-c may be identified via AIimage processing of the example panoramic image 330. Applying learnedand/or programmed object recognition algorithms, for example, an AIprogram may analyze (e.g., systematically search through and/or process)various patterns and/or characteristics within the example panoramicimage 330 to identify areas that match stored patterns and/orcharacteristics. The AI program may, for example, compare portions ofthe second wall region 334 b to stored image pattern data to identify afirst object 338 a and/or classify the first object 338 a as a couch(and/or a particular type, brand, model, and/or material thereof).According to some embodiments, portions of a fourth wall region 334 dmay be analyzed with pattern matches being identified for each of asecond object 338 b and a third object 338 c. The rectilinear shapes ofthe second and third objects 338 b-c may be identified, for example, andcolors and/or patterns within the identified bounds of the second object338 b may be matched to a painting type of object. In some embodiments,the relative location of the third object 338 c, e.g., being close to abottom portion of the fourth wall region 334 d, may be utilized toclassify the third object 338 c as a fireplace.

According to some embodiments, various measurements, calculations,and/or determinations may be derived from the example panoramic image330. In some embodiments, for example, the segmented and/or normalizedwall regions 334 a-d may be parsed into and/or assigned a coordinatereference system. In the case that the wall regions 334 a-d arenormalized into orthographic and/or rectilinear projections, forexample, a rectilinear coordinate system identifying various pointsthroughout each wall region 334 a-d may be identified, computed, and/orassigned. In some embodiments, an array of coordinates assigned to thewall regions 334 a-d may correspond to each pixel or instance of datathat comprises the example panoramic image 330. In such a manner, forexample, each pixel of the example panoramic image 330 may be uniquelyidentified and/or referenced with respect to other pixels (e.g.,presuming that the size of the pixels is known, calculated, and/orotherwise derived). According to some embodiments, the array ofcoordinates may be utilized to evaluate the various objects 338 a-c. Thecoordinates may be utilized, along with referential distance estimationsbased on identified objects 338 a-c and/or features 336 a-b, forexample, to estimate sizes and/or positions of the various features 336a-b and/or objects 338 a-c.

In some embodiments, the doorway 336 a may be analyzed to determine thatthe range of the coordinates comprising the portion of the second wallregion 334 b that the doorway 336 a occupies define dimensions of thedoorway 336 a. In the case that the size of the pixels and/orcoordinates is known (e.g., pre-programmed and/or derived), thedimensions may be converted into and/or expressed as real-worlddimensions representing the estimated size of an actual doorway (notshown) that the doorway 336 a in the example panoramic image 330represents. Dimensions of the window 336 b may be similarly calculated.The dimensional and/or sizing information may then be utilized,according to some embodiments, to assess the features 336 a-b. Doors andwindows for larger doorway 336 a and window 336 b openings may cost moreto replace than smaller versions, for example, and values may becross-referenced based on the sizing information to derive and/orcalculate one or more replacement, repair, servicing, and/or other costsassociated with the features 336 a-b. Similarly, characteristics and/orsizes of the objects 338 a-c may be utilized to identify an expectedreplacement value for the couch 338 a, for example, and/or to estimate alevel of risk, hazard, and/or pollution attributable to the fireplace338 c.

According to some embodiments, positions and/or distances related to thefeatures 336 a-b and/or objects 338 a-c may also or alternatively beprocessed (e.g., utilizing a stored rule set associated with thedifferent classifications thereof). A distance (not shown) from thedoorway 336 a to the couch 338 a may be calculated based on the relativepositions derived for the doorway 336 a and the couch 338 a, forexample, and compared to a stored threshold and/or rule regardingfurniture proximity to doorways. In the case that the couch 338 a isdetermined to be closer to the doorway 336 a than a stored threshold,for example, an applicable rule may be identified as not being met.Similarly, a rule may be stored that specifies that no furnishingsshould be within two feet (2-ft.) of the fireplace 338 c. In someembodiments, the distance between the fireplace 338 c and the painting338 b may be derived and/or calculated based on the coordinate array forthe fourth wall region 334 d and compared to the minimum threshold. Inthe case that the painting 338 b is determined to be farther from thefireplace 338 c than the specified threshold (e.g., farther than twofeet (2-ft.) away), the rule may be determined to have been met and/orsatisfied. In some embodiments, various scores, rankings,determinations, assessment results, and/or other output may be derived,calculated, computed, and/or retrieved based on the various ruleevaluations.

Fewer or more components 332 a-d, 334 a-d, 336 a-b, 338 a-c and/orvarious configurations of the depicted components 332 a-d, 334 a-d, 336a-b, 338 a-c may be included in the example panoramic image 330 withoutdeviating from the scope of embodiments described herein. In someembodiments, the components 332 a-d, 334 a-d, 336 a-b, 338 a-c may besimilar in configuration and/or functionality to similarly named and/ornumbered components as described herein. In some embodiments, theexample panoramic image 330 (and/or portions thereof) may comprise anautomatic AI three-dimensional modeling program, system, and/or platformprogrammed and/or otherwise configured to execute, conduct, and/orfacilitate the methods/processes 400, 600 of FIG. 4 and/or FIG. 6herein, and/or portions or combinations thereof.

III. AI Three-Dimensional Modeling Processes

Referring now to FIG. 4 , a flow diagram of a method 400 according tosome embodiments is shown. In some embodiments, the method 400 may beperformed and/or implemented by and/or otherwise associated with one ormore specialized and/or specially-programmed computers (e.g., one ormore of the user devices 102, 202 a-b, the imaging device/camera 106,206, the controller device/server 110, 210, and/or the apparatus 810 ofFIG. 1 , FIG. 2 , and/or FIG. 8 herein), computer terminals, computerservers, computer systems and/or networks, and/or any combinationsthereof (e.g., by one or more multi-threaded and/or multi-coreprocessing units of an AI three-dimensional modeling data processingsystem). In some embodiments, the method 400 may be embodied in,facilitated by, and/or otherwise associated with various inputmechanisms and/or interfaces (such as the interface 720 of FIG. 7herein).

The process diagrams and flow diagrams described herein do notnecessarily imply a fixed order to any depicted actions, steps, and/orprocedures, and embodiments may generally be performed in any order thatis practicable unless otherwise and specifically noted. While the orderof actions, steps, and/or procedures described herein is generally notfixed, in some embodiments, actions, steps, and/or procedures may bespecifically performed in the order listed, depicted, and/or describedand/or may be performed in response to any previously listed, depicted,and/or described action, step, and/or procedure. Any of the processesand methods described herein may be performed and/or facilitated byhardware, software (including microcode), firmware, or any combinationthereof. For example, a storage medium (e.g., a hard disk, Random AccessMemory (RAM) device, cache memory device, Universal Serial Bus (USB)mass storage device, and/or Digital Video Disk (DVD); e.g., thememory/data storage devices 140, 240, 840, 940 a-e of FIG. 1 , FIG. 2 ,FIG. 8 , FIG. 9A, FIG. 9B, FIG. 9C, FIG. 9D, and/or FIG. 9E herein) maystore thereon instructions that when executed by a machine (such as acomputerized processor) result in performance according to any one ormore of the embodiments described herein.

In some embodiments, the method 400 may comprise acquiring (e.g., by anelectronic processing device and/or from a sensor/imaging device) one ormore images, at 402. One or more sensors, such as cameras, datatransceivers, range finding devices, and/or other imagery and/or dataacquisition devices, may, for example, be utilized to capture datadescriptive of a location that includes one or more objects, such asfeatures and/or furnishings of a room in a building. In someembodiments, the capturing of the data may occur in response to arequest for the data. One or more signals may be transmitted from a userand/or controller device to one or more imaging devices, for example, toinitiate and/or conduct data acquisition for one or more desiredlocations and/or objects. According to some embodiments, whether thedata is captured on-demand, in response to a specific request, or aspart of an overall data acquisition process, the data may be providedvia one or more data storage devices, such as a data/imagery repository.In some embodiments, such data may be made available by one or morethird parties that may or may not charge a fee to access the data.According to some embodiments, the data may comprise any quantity, type,and/or configuration of data that is or becomes known or practicable.The data may include, for example, a plurality of data bands, such asdifferent color bands and/or various point data, such as elevations,locations, etc. In some embodiments, the data may comprise variousimagery bands, such as visible colors (e.g., RGB), near-IR, IR, and/orpoint cloud data, such as a Digital Elevation Model (DEM). According tosome embodiments, the image/data may comprise a single panoramic imageor multiple images, each representing an entire three hundred sixtydegree (360°) view of a structural area and/or location.

According to some embodiments, the method 400 may comprise utilizing theacquired image(s) for AI image processing, at 404. The AI imageprocessing at 404 (and/or the method 400) may comprise, for example,identifying (e.g., by the electronic processing device) corners, at404-1. According to some embodiments, a plurality of shape files (and/orother shape-indicative information) may be stored in relation to aplurality of identifiable objects, such as room features, furnishings,and/or characteristics, and one or more of such files/information may beselected based at least in part on a characteristic of the location(e.g., the location at which the imagery/data is captured and/oracquired). In some embodiments, for example, it may be determined (e.g.,based on geospatial and/or account information) that a particularlocation comprises an office building or a home. According to someembodiments, such information may be stored in association with acustomer (current and/or potential) account, profile, and/or otheridentifier and/or retrieved utilizing such an identifier as a data querykey. In some embodiments, the shape file may comprise any type,quantity, and/or configuration of shape information that is or becomespracticable, such as, but not limited to, an image file, a template,geospatial vector data, point data, line data, polygon data, coordinatedata, and/or other pattern, geometry, color, and/or configuration data.In some embodiments, the shape file may be defined and/or stored inaccordance with one or more data formatting standards, such as theEnvironmental Systems Research Institute (ESRI) Shapefile TechnicalDescription 3-7855 published July, 1998 by ESRI, Inc. of Redlands,Calif. In some embodiments, the shape file may define known and/orestimated extents, colors, patterns, and/or geometries of a particularobject, such as a room corner, couch, fireplace, conference room table,doorway, etc. According to some embodiments, portions of the acquiredimage(s) may be compared to one or more stored shape files (and/orparameters thereof) to identify likely matches. As different lightingconditions, viewpoints/angles, and/or different camera/sensorconfigurations may cause a wide variation in image details, it should beunderstood that an AI-based program conducting image analysis maygenerally perform mathematical calculations (e.g., regression, best fit,etc.) to identify “matches” that fall within various parameter ranges,but that perfect mathematical “matches” reaching the level ofmathematical equivalence are likely to be rare. Accordingly, portions ofthe image(s) may be compared to stored shapes, colors, textures,patterns, etc., and in the case that the number of similarities fallswithin a predetermined threshold, a “match” may be established oridentified. According to some embodiments, in the case that a portion ofthe image(s) is determined to match stored data descriptive of a cornerof a room, corresponding portions of the image may be tagged and/orotherwise identified as a corner. Different corners may be identifiedbased on different positioning information with the image. Points in theimage that are identified as corner points and that are identified asbeing generally aligned with other corner points along a particular lineand/or in a particular direction (e.g., vertically, in terms of how theimage(s) may represent the real room) may be grouped together toidentify a particular corner, while other corner points disposed alongdifferent lines and/or regions may be identified and/or grouped as othercorners.

In some embodiments, the AI image processing at 404 (and/or the method400) may comprise identifying (e.g., by the electronic processingdevice) a camera location, at 404-2. Estimated distances derived byevaluating the image(s) utilizing a mathematical parallax model may beutilized, for example, to calculate a viewpoint location derived basedon the locations of the corners in the image(s). The curvature and/ordistances between lines and/or artifacts in the image may be utilized asinput, in some embodiments, to calculate an estimated distance of theviewpoint to each of the identified corner locations/regions. Accordingto some embodiments, the AI image processing at 404 (and/or the method400) may comprise identifying (e.g., by the electronic processingdevice) walls, at 404-3. One or more trained AI algorithms may beemployed, for example, to identify an occurrence of an image/datapattern/value that matches predefined AI criteria indicative of aparticular type of identifiable feature (such as a corner at 404-1and/or a wall at 404-3, and/or other features or objects). In someembodiments, the locations and/or extents of the identified corners maybe utilized to identify and/or define one or more walls (i.e., wallregions within the image(s)). Areas of the image(s) occurring betweenconsecutive corners and/or corner regions may be identified as wallregions, for example.

According to some embodiments, the method 400 may comprise utilizing theacquired image(s) (e.g., as-processed by the AI image processing at 404)for AI image post-processing, at 406. In some embodiments, the AI imagepost-processing at 406 (and/or the method 400) may comprise cutting(e.g., by the electronic processing device) the walls from the image(s),at 406-1. While the term “cutting” is utilized as an example operationlabel, in some embodiments, additional or alternate operations, such astrimming, segmenting, copying, duplicating, extracting, and/or exportingmay be conducted. According to some embodiments, regardless of thespecific operation utilized, any or all identified wall regions and/orportions may be uniquely identified and/or separated (e.g.,mathematically) from the underlying image(s). According to someembodiments, the AI image post-processing at 406 (and/or the method 400)may comprise normalizing (e.g., by the electronic processing device) thewalls, at 406-2. The cut and/or otherwise segmented and/or identifiedwall regions may, for example, generally be curved and/or distorted dueto differences in viewpoints, angles, lens characteristics, etc. In someembodiments, such distortions may be corrected and/or accounted for byprocessing the wall regions utilizing an AI normalization process thattransforms the wall portions into an orthogonal and/or rectilinearprojection or form. In the case that it is assumed that the actual roomis rectilinear, for example, the wall areas and/or regions may becorrected to model the real-world geometry. The normalization maycomprise, in some embodiments, a relocation of a plurality of pixels ofthe image(s) to transform the image(s) bound to fit within a rectilineartemplate.

According to some embodiments, the AI image post-processing at 406(and/or the method 400) may comprise defining (e.g., by the electronicprocessing device) an array of coordinates, at 406-3. Each pixel and/orother identifiable sub-portion or element of the image(s) may beassigned a coordinate and/or value, for example, such as a unique and/orsequential identifier. In some embodiments, each pixel or element may beassigned multiple values that together uniquely identify thepixel/element. In the case of a two-dimensional image/data, for example,each pixel/element may be assigned two values, e.g., one for each axisor dimensional direction. According to some embodiments, additionalvalues (e.g., dimensional values) may be assigned, depending upon thecontent of the underlying and/or original image/sensor data. In someembodiments, a uniform coordinate and/or size system and/or template maybe applied to each identified wall region, corner region, and/or otherobject identified in the image/data. According to some embodiments,three-dimensional positioning data may be utilized, such as a firstvalue with respect to a first dimension (e.g., an x-axis or horizontaldirection), a second value with respect to a second dimension (e.g., ay-axis or vertical direction), and/or a third value with respect to athird dimension (e.g., a z-axis or depth direction; e.g., with respectto a depth datum, such as the calculated/derived camera position). Whilethe defining/assigning of coordinates to an array of image/sensorelements at 406-3 and the AI image post-processing at 406 are depictedas comprising separate and/or distinct processes from the AI imageprocessing at 404, in some embodiments the defining at 406-3 and/or theAI image post-processing at 406 may comprise a portion of the AI imageprocessing at 404.

In some embodiments, the method 400 may comprise projecting (e.g., bythe electronic processing device) the image(s) (and/or the array ofcoordinates) into a three-dimensional environment, at 408. Thenormalized wall region data may be utilized (alone or in conjunctionwith the corner region data), for example, to populate athree-dimensional virtual environment (e.g., a computer model). In someembodiments, the different wall regions, corners, and/or even ceilingand floor regions may be stitched or joined together within thethree-dimensional environment to form a three-dimensional virtual modelof the location at which the image(s)/sensor data was captured/acquired.In such a manner, for example, a representation of the location may bereadily generated and made available (e.g., via a users mobileelectronic device). While the projecting at 408 is depicted ascomprising a separate and/or distinct process from the AI imageprocessing 404, in some embodiments the projecting at 408 may comprise aportion of the AI image processing at 404. According to someembodiments, the method 400 may comprise and/or may trigger and/orproceed to perform additional operations and/or procedures, such as oneor more AI-based structural area/location assessment procedures, at “A”(described with respect to the method 600 of FIG. 6 herein).

Referring now to FIG. 5 , a perspective diagram of three-dimensionalmodel 560 according to some embodiments is shown. In some embodiments,the three-dimensional model 560 may be associated with and/or compriseoutput from an AI image processing procedure, such as the method 400 ofFIG. 4 herein, and/or a portion thereof (e.g., the projecting at 408).The three-dimensional model 560 may be generated and/or defined, forexample, by one or more images (and/or other sensor data) acquired at alocation and fed through an AI image processing program that, e.g.,identifies corners, walls, ceiling, floor, features, furnishings,finishes, materials, and/or objects in the images/data. According tosome embodiments, the three-dimensional model 560 may be generated froma plurality of normalized wall segments and/or regions derived from oneor more images of the location. According to some embodiments, thethree-dimensional model 560 depicted in FIG. 5 may comprise a portion ofa larger model (not shown)—e.g., of an entire room, building, etc.

In some embodiments, the three-dimensional model 560 may comprise and/ordefine a feature 566 of the room, such as the bay window as depicted inFIG. 5 . As depicted, the bay window 566 may comprise a plurality ofindividual panes, portions, and/or windows 566 a-f. According to someembodiments, the three-dimensional model 560 may be utilized to identifyand/or compute a width 566-1 of the bay window 566, a height 566-2 ofthe bay window 566, and/or a depth 566-3 of the bay window 566. In thecase that the portions of the three-dimensional model 560 comprising thebay window 566 are known, for example, corresponding three-dimensionalcoordinates may be utilized to calculate the various dimensions 566-1,566-2, 566-3. In such a manner, for example, an area of the bay window566 may be calculated (e.g., by multiplying the dimensions 566-1, 566-2,566-3) based on the three-dimensional model 560. As depicted, the depth566-3 of the bay window 566 (e.g., a third dimension) may be utilized tocompute a length of a first window 566 a and/or a sixth window 566 f;the width 566-1 of the bay window 566 (e.g., in a first dimension) maybe utilized to compute a length of a second, third, fourth, and fifthwindows 566 b-e; and/or the height 566-2 of the bay window 566 (e.g., asecond dimension) may be representative of all of the windows 566 a-f.In some embodiments, the various widths 566-1 and/or lengths 566-3 maybe added to determine an overall length of the bay window 566 and thesum may be multiplied by the height 566-2 to derive the area of the baywindow 566. In some embodiments, the area, dimensions 566-1, 566-2,566-3, and/or other characteristics of the bay window 566 (and/or otherfeatures) may be utilized to compute an assessment for the location, asdescribed herein.

According to some embodiments, the three-dimensional model 560 maycomprise and/or define a plurality of objects 568 a-f. The objects 568a-f may, for example, be projected and/or placed based on objectsidentified in the underlying images/sensor data utilized to generate thethree-dimensional model 560. The objects 568 a-f may comprise, in someembodiments, a cabinet 568 a, an ottoman 568 b, a television 568 c,pillows 568 d, a couch 568 e, and/or a mirror 568 f. According to someembodiments, the locations of the objects 568 a-f may be utilized tocompute an assessment for the location. The quantities, brands,conditions, and/or types (e.g., classifications) of the objects 568 a-fmay be utilized, for example, to evaluate one or more rules evaluated byan AI structural space analysis program. In some embodiments, a distance568-1 from one of the objects 568 a-f, such as the television 568 c toanother object 568 a-b, 568 d-f and/or to a feature, such as the baywindow 566 (and/or to a wall, ceiling, floor, etc.; not separatelylabeled) may also or alternatively be utilized to assess the location.One or more rules may utilize the distance 568-1, for example, toevaluate a condition with respect to the television 568 c. In the casethat the distance 568-1 is shorter than a threshold distance stored inrelation to the rule, in some embodiments, the rule may not be met—e.g.,the condition may fail to be satisfied.

Fewer or more components 566, 566 a-f, 566-1, 566-2, 566-3, 568 a-fand/or various configurations of the depicted components 566, 566 a-f,566-1, 566-2, 566-3, 568 a-f may be included in the three-dimensionalmodel 560 without deviating from the scope of embodiments describedherein. In some embodiments, the components 566, 566 a-f, 566-1, 566-2,566-3, 568 a-f may be similar in configuration and/or functionality tosimilarly named and/or numbered components as described herein. In someembodiments, the three-dimensional model 560 (and/or portions thereof)may comprise an automatic AI three-dimensional modeling program, system,and/or platform programmed and/or otherwise configured to execute,conduct, and/or facilitate the methods/processes 400, 600 of FIG. 4and/or FIG. 6 herein, and/or portions or combinations thereof.

Turning now to FIG. 6 , a flow diagram of a method 600 according to someembodiments is shown. In some embodiments, the method 600 may beperformed and/or implemented by and/or otherwise associated with one ormore specialized and/or specially-programmed computers (e.g., one ormore of the user devices 102, 202 a-b, the imaging device/camera 106,206, the controller device/server 110, 210, and/or the apparatus 810 ofFIG. 1 , FIG. 2 , and/or FIG. 8 herein), computer terminals, computerservers, computer systems and/or networks, and/or any combinationsthereof (e.g., by one or more multi-threaded and/or multi-coreprocessing units of an AI three-dimensional modeling data processingsystem). In some embodiments, the method 600 may be embodied in,facilitated by, and/or otherwise associated with various inputmechanisms and/or interfaces (such as the interface 720 of FIG. 7herein).

In some embodiments, the method 600 may begin at “A”, e.g., as acontinuation and/or portion of the method 400 of FIG. 4 herein.According to some embodiments, the method 600, whether beginning from“A” or otherwise, may comprise identifying (e.g., by an electronicprocessing device) an object, at 602. Whether two-dimensional orthree-dimensional data is utilized, for example, such data may beanalyzed by comparing lines, patterns, pixels, colors, and/or otherartifacts in the data (e.g., image data) to a library of stored shapes,lines, patterns, etc. In the case that a correspondence between thestored data and the analyzed data is identified, an existence of anobject may be defined. In some embodiments, such as in the case that theanalyzed data comprises an array of coordinates, various size,dimension, and/or geometric information descriptive of the identifiedobject may be determined. According to some embodiments, a portion ofthe underlying data (e.g., a portion of an image, wall region, and/orthree-dimensional model) may be identified as corresponding to and/orbeing enclosed within the bounds of the identified object. In someembodiments, any colors, shapes, patterns, temperatures, distances,and/or other data within the bounds of the object may be identifiedand/or stored in relation to the object (e.g., as characteristicsthereof).

According to some embodiments, the method 600 may comprise classifying(e.g., by the electronic processing device) the object, at 604. One ormore characteristics of the object may be compared to storedcharacteristic library and/or cross-reference data, for example, tocompare the color, size, shape, label information, logos, brand names,and/or other data descriptive of the object to stored objectcharacteristic data. In such a manner, for example, an identification ofan object of a certain size and/or shape may be compared to stored sizesand/or shapes to determine that the identified object matches (e.g., toa threshold level of mathematical certainty and/or correspondence) andis accordingly of the same class as the stored type (e.g., a couch,chair, light fixture, etc.). According to some embodiments,characteristics of the object, such as color, pattern (e.g., texture),logo and/or label data, etc. may be utilized to identify thecorresponding class, confirm the identified class, and/or furthercategorize and/or classify the object. An object may be identified as atelevision based on geometric features of the object as compared tostored shape geometries for known object types, for example, and may befurther classified as a flat screen television based on at least onesize dimension (e.g., depth) and/or may be further classified as a SONY®television based on an identified occurrence of the word “sony”somewhere within the object bounds.

In some embodiments, the method 600 may comprise identifying (e.g., bythe electronic processing device) a rule for the object, at 606. Oncethe object is classified, for example, stored data may be queried and/oraccessed to determine a rule that is applicable to the classificationassigned to the object. In the ongoing example of a television, forexample, it may be determined that several rules apply, such as a firstrule specifying that televisions should be placed no closer than threefeet (3 ft.) from a water or heat source and/or a second rule specifyingthat televisions over a certain size correspond to a particular value ofa risk parameter (e.g., a score of four (4) on a scale representing costto replace). In some embodiments, identified rules may be related orunrelated. Rules may be established in a hierarchy and/or dependentrelationship, for example, and/or may be related via more complexdecision tree and/or nodal reasoning connections representing apre-programmed AI-based logic map. According to some embodiments, anyidentified rule may be associated with, assigned, and/or may define oneor more point values. A binary rule may correspond to a point value ofzero (0) in the case that a first binary result for the rule isevaluated, for example, and may correspond to a point value of one (1)or ten (10) in the case that a second binary result for the rule isevaluated. In some embodiments, the point value (or values) may be basedon one or more formulas. A point value for a rule may comprise a formulathat includes an input variable related to the rule (e.g., a measurementbetween two objects), for example, and a function that relates variousvalues of the input variable to one or more output point values. Asquare or linear foot measurement of all windows identified in a room,for example, may evaluate to a point value ranging from zero (0) to onehundred (100) depending upon the measurement value. Measured windowlength/area values under a predetermined threshold may resolve (e.g.,based on application of a mathematical formula) to zero (0) points, forexample, while measurements over the threshold may correspond to ten(10) points for every foot over the threshold. In some embodiments,score/point values for a plurality of rules may be summed to achieve apoint or score total, average, etc.

According to some embodiments, the method 600 may comprise determining(e.g., by the electronic processing device) whether a measurement shouldbe taken, at 608. An identified rule may rely on various data, forexample, such as data acquired and/or capable of being derived fromacquired image/sensor data. In some embodiments, the rule may be basedon or take into account one or more distances and/or dimensions.According to some embodiments, acquired image/sensor data processed byan AI three-dimensional modeling program as described herein may beutilized to derive (e.g., “measure”) the one or moredistances/dimensions, and the rule may request and/or require that sucha measurement/derivation be accomplished. While distance measurementsare utilized as an example parameter upon which the rule may be based,in some embodiments other or additional data, parameters, values, and/ormetrics may be utilized by the rule. In the case that it is determinedthat the rule requires a measurement (or other data), the method 600 mayproceed to and/or comprise identifying (e.g., by the electronicprocessing device) a measurement, at 610. The measurement may beacquired by performing a calculation utilizing two or more identifiedcoordinates, pixels, and/or other points in the image(s)/data, forexample. In some embodiments, a user may be prompted for the measurementand/or guided with respect to acquiring the measurement.

In some embodiments, once the measurement has been identified at 610 orin the case that no measurement is needed at 608, the method 600 maycomprise determining (e.g., by the electronic processing device) whetherthe rule is met, at 612. The identified measurement (and/or other rulecriteria data) may be compared to a stored threshold and/or referencevalue or range of values, for example, to determine whether theidentified measurement (and/or other value) exceeds, equals, or fallsbelow a mathematical value, range, and/or condition. In the case that anobject classified as a television is determined to be larger than acertain stored dimensional threshold, for example, the threshold may beexceeded. In the case the rule specifies values over the threshold asbeing out of range or not meeting the rule, the rule may be determinedto not be met. In some embodiments, the threshold and/or rule may notcomprise binary decisions that are either met or not met, but maycomprise ranges, cross-reference values, etc. The rule may identifydifferent screen size bands for televisions, for example, and thedetermining regarding the rule being met (or not) may comprisedetermining which screen size band or range the particular televisionobject falls within (e.g., based on the measurement). According to someembodiments, identifying which range is applicable may define a valueattributable to the television based on the range. The ranges maycomprise different estimated replacement values, for example, and eachrange may correspond to a particular value, rank, score, etc.

According to some embodiments, in the case that the rule is determinedto not be met or satisfied, the method 600 may comprise recording (e.g.,by the electronic processing device) a deviation, at 614. Binary rulesmay be evaluated, for example, as pass or fail, with failures beingrecorded and/or flagged. In some embodiments, deviations may compriseother identified relationships between object parameters and storedvalues or rules that are not binary. In the case of the television andthe example different size ranges, for example, once it is determinedwhich size range the television falls into, the rule may specify one ormore ranges that comprise deviations (e.g., undesirable results) and inthe case the given television falls within a deviant range, a deviationmay be identified and/or recorded. According to some embodiments,deviations may be identified based on combinations of rules and/ordecision tree results. An acceptable size (e.g., a first rule)television may not trigger a deviation for example, unless it isdetermined that it is also within a minimum distance (e.g., a secondrule) from a heat or water source.

In some embodiments, once the deviation has been identified and/orrecorded at 614 or in the case that the rule is determined to have beenmet or satisfied at 612, the method 600 may comprise calculating (e.g.,by the electronic processing device) an assessment, at 616. Theaggregate satisfaction and/or failure of an object with respect toapplicable rules may, for example, be scored and/or otherwise assessed.In some embodiments, each rule may be associated with a point value andthe sum, average, and/or other mathematical result based on a pluralityof point values for one or more objects may be tallied, computed, and/orcalculated. According to some embodiments, each identified and/orclassified object may be evaluated and scored and the total score forall analyzed objects may be derived. The assessment, whilemathematically and/or logically based, may comprise a numeric value orexpression or another quantitative, qualitative, and/or combined metricand/or result.

In some embodiments, the method 600 may comprise determining (e.g., bythe electronic processing device) whether there are more rules toevaluate, at 618. The method 600 may conduct a loop process for eachobject, for example, cycling through any or all identified rules thatare relevant to the object. In the case that more rules are identifiedand/or have not yet been evaluated, the method 600 may revert back toand/or loop to identifying additional rules, at 606. In the case thatall rules for an object have been evaluated and/or no more rules areotherwise identified, the method 600 may comprise determining (e.g., bythe electronic processing device) whether there are more objects toevaluate, at 620. The method 600 may conduct a loop process for theanalyzed location, image, and/or three-dimensional model, for example,cycling through any or all identified objects that have been identified.In the case that more objects are identified and/or have not yet beenevaluated, the method 600 may revert back to and/or loop to identifyingadditional objects, at 602. In the case that all objects have beenevaluated and/or no more objects are otherwise identified, the method600 may comprise outputting (e.g., by the electronic processing deviceand/or via an electronic communications network) an indication of theassessment, at 622. An aggregated, summed, averaged, and/or otherwiseoverall assessment for a location may, for example, be transmitted to auser device, controller, and/or other device. According to someembodiments, the assessment may comprise one or more numbers, values,and/or qualitative determinations based on the data acquired from theunderlying images/sensor data descriptive of the location. In such amanner, for example, a user may be provided with an AI-based assessmentthat dynamically evaluates the desired rule sets with respect to alocation. In some embodiments, the assessment (or an indication thereof)may be output via one or more output devices and/or in one or moregraphical formats, such as via a GUI generated and output by a displaydevice.

IV. AI Three-Dimensional Modeling Interfaces

Referring now to FIG. 7 , a diagram of a system 700 depicting a userdevice 702 providing an instance of an example interface 720 accordingto some embodiments is shown. In some embodiments, the interface 720 maycomprise a web page, web form, database entry form, API, spreadsheet,table, and/or application or other GUI by which a user or other entitymay enter data (e.g., provide or define input) to enable and/or triggerAI-based three-dimensional modeling and/or structural locationassessments, as described herein. The interface 720 may, for example,comprise a front-end of an AI three-dimensional modeling and/orstructural location assessment application program and/or platformprogrammed and/or otherwise configured to execute, conduct, and/orfacilitate the methods 400, 600 of FIG. 4 and/or FIG. 6 herein, and/orportions or combinations thereof. In some embodiments, the interface 720may be output via a computerized device, such as the user device 702,which may, for example, be similar in configuration to one or more ofthe user devices 102, 202 a-b and/or the controller device/server 110,210, of FIG. 1 and/or FIG. 2 herein.

According to some embodiments, the interface 720 may comprise one ormore tabs and/or other segmented and/or logically-presented data formsand/or fields. In some embodiments, the interface 720 may be configuredand/or organized to allow and/or facilitate entry and/or acquisition ofinformation descriptive of a location for acquisition of a structurallocation assessment (e.g., via an AI three-dimensional modelingapplication). According to some embodiments, a first version (or page orinstance) of the interface 720 as depicted in FIG. 7 may comprise an ARdata acquisition and/or telepresence interface (e.g., defining a firstinput and/or output mechanism) by providing one or more data inputand/or output mechanisms, tools, objects, and/or features, such as adata capture button 722, a data capture configuration menu 724, atelepresence chat window 726, a cursor or pointer 728 (e.g., in theshape of a pointing hand, as depicted), and/or an image display 730(e.g., of a location). In some embodiments, the image display 730 maycomprise and/or provide representations of a plurality of objects 738a-b, such as a first object or painting 738 a and/or a second object orfireplace 738 b.

In some embodiments, the first version (or page or instance) of theinterface 720 may be utilized to initiate AI three-dimensional modeling(and/or initiation of a first program thereof). The interface 720 may,for example, be utilized to conduct a telepresence session between auser (not shown) of the user device 702 and a remote user (not shown).The telepresence chat window 726 may be utilized, for example, as amechanism that permits the remote user to guide the local user (i.e.,the user of the user device 702) through various tasks based on datacaptured by the user device 702. The remote user may direct the localuser to capture one or more images based on imagery depicted in theimage display 730, in some embodiments, such as to direct and/or guidethe local user through capturing a panoramic photo, video, and/or aseries of photos that are, together, descriptive of an entire room (orother structural location). In some embodiments, the output from theimage display 730 may be made available (e.g., transmitted to) theremote user so that the remote user effectively sees the same output asthe local user.

In some embodiments, the materials and/or surfaces of the objects 738a-b may be automatically determined and/or the user may be prompted toenter and/or confirm information descriptive of materials. Imageanalysis may compare textures, lines, patterns, and/or features of theobjects 738 a-b to stored textures, lines, patterns, and/or features,for example, to identify one or more materials. The uninterrupted and/oruniform surface texture of the fireplace 738 b, for example, may beindicative of a smooth material such as marble, tile, or metal. In someembodiments, surface feature analysis may be supplemented withcontextual pattern and/or object analysis rules and/or comparison datasets. The example fireplace 738 b appears to be composed of four (4)rectangular blocks of material, based on apparent separation or jointlines therebetween, for example. Such shapes and/or computed shapedimensions may be cross-referenced with stored data descriptive ofavailable and/or common material sizes to identify the material for thefireplace 738 b as four (4) eight by twenty-four inch (8″×24″) marbletiles. Different variations in color, texture, shading, patterns, lines,etc. may similarly be cross-referenced to automatically identify alikely (e.g., based on a ranked selection) material type for any or allobjects 738 a-b.

According to some embodiments, the telepresence chat window 726 may beutilized (as depicted in the example text in FIG. 7 ) to prompt thelocal user to acquire specific characteristic information descriptive ofthe location (and/or of data captured at the location). The telepresencechat window 726 may be utilized, for example, to prompt or instruct thelocal user (and/or the user device 702) to conduct a measurementderivation, such as an AR-based on-screen measurement. The local usermay utilize the interface 720, for example, to measure distance and/ordimensions based on information output by the image display 730.According to some embodiments, the local user may utilize the pointer728 to select, identify, and/or define a measurement starting location770 on the image display 730 and/or a measurement ending location 772 onthe image display 730. The local user may utilize an input device (notshown; a finger or stylus in the case that the interface 720 comprises atouchscreen display) to position the pointer 728 on the image display730, for example, may click (or otherwise select) the starting location770, and/or may drag the pointer 728 to the ending location 772 (and/ormay click or otherwise select the ending location 772; e.g., with thepointer 728). In some embodiments, the interface 720 and/or the imagedisplay 730 may be updated to comprise and/or output a measurement 774,e.g., based on the selected locations/positions of the starting location770 and the ending location 772. As depicted, for example, themeasurement 774 between the painting 738 a and the fireplace 738 b maybe calculated and/or computed to be two and two-tenths feet (2.2-ft.).In the case that the output of the image display 730 comprises embeddedcoordinate data, for example, the coordinates corresponding to thestarting location 770 and the ending location 772 may be identified andmathematically compared to calculate a distance between the coordinates.

In some embodiments, the images, data, measurements, and/or other datacaptured, calculated, and/or computed by the user device 702 may beutilized (e.g., by an AI three-dimensional modeling and/or assessmentprogram) to assess the location. The derived dimensions of the room,layout of the room, identified contents of the room, positions ofcontents within the room, derived materials of objects and/or surfacesof the room, features of the room, and/or distances between features,contents, objects, etc., may be compared, in some embodiments, to one ormore stored rules to determine whether the one or more rules are met orsatisfied. In the case that the fireplace 738 b is identified at thelocation as depicted in the image display 730, for example, a rule forfireplaces may either be satisfied or violated (e.g., such as in thecase that a fireplace is not permitted). According to some embodiments,a rule may define a criteria that any combustible items, such as thepainting 738 a, need to be at least two feet (2-ft.) away from any heatsource (such as the fireplace 738 b). In the example depicted in FIG. 7, since the measurement 774 of two and two-tenths feet (2.2-ft.) isgreater than the stored threshold/criteria of two feet (2-ft.), the rulemay be determined to be satisfied or met. According to some embodiments,such as in the case that it is determined that the painting 738 acomprises a metal or wood material that is less combustible than clothor canvas, for example, the rule may specify different distancingthresholds. In some embodiments, different materials themselves maycorrespond to different rules, such as a marble fireplace correspondingto a higher replacement value than a metal fireplace. According to someembodiments, the resolution of such rules may define one or moreassessment parameters, such as ranks, scores, and/or other values.

Fewer or more components 702, 720, 722, 724, 726, 728, 730, 738 a-b,770, 772, 774 and/or various configurations of the depicted components702, 720, 722, 724, 726, 728, 730, 738 a-b, 770, 772, 774 may beincluded in the system 700 without deviating from the scope ofembodiments described herein. In some embodiments, the components 702,720, 722, 724, 726, 728, 730, 738 a-b, 770, 772, 774 may be similar inconfiguration and/or functionality to similarly named and/or numberedcomponents as described herein. In some embodiments, the system 700(and/or portions thereof) may comprise an automatic AI three-dimensionalmodeling program, system, and/or platform programmed and/or otherwiseconfigured to execute, conduct, and/or facilitate the methods/processes400, 600 of FIG. 4 and/or FIG. 6 herein, and/or portions or combinationsthereof.

While various components of the interface 720 have been depicted withrespect to certain labels, layouts, headings, titles, and/orconfigurations, these features have been presented for reference andexample only. Other labels, layouts, headings, titles, and/orconfigurations may be implemented without deviating from the scope ofembodiments herein. Similarly, while a certain number of tabs,information screens, form fields, and/or data entry options have beenpresented, variations thereof may be practiced in accordance with someembodiments.

V. AI Three-Dimensional Modeling Apparatus and Articles of Manufacture

Turning to FIG. 8 , a block diagram of an AI device or other apparatus810 according to some embodiments is shown. In some embodiments, theapparatus 810 may be similar in configuration and/or functionality toany of the user devices 102, 202 a-b, the imaging/camera devices 106,206, and/or the controller device/server 110, 210, of FIG. 1 and/or FIG.2 herein. The apparatus 810 may, for example, execute, process,facilitate, and/or otherwise be associated with the methods/processes400, 600 of FIG. 4 and/or FIG. 6 herein, and/or portions or combinationsthereof. In some embodiments, the apparatus 810 may comprise aprocessing device 812, a transceiver device 814, an input device 816, anoutput device 818, an interface 820, a memory device 840 (storingvarious programs and/or instructions 842 and data 844), and/or a coolingdevice 850. According to some embodiments, any or all of the components812, 814, 816, 818, 820, 840, 842, 844, 850 of the apparatus 810 may besimilar in configuration and/or functionality to any similarly namedand/or numbered components described herein. Fewer or more components812, 814, 816, 818, 820, 840, 842, 844, 850 and/or variousconfigurations of the components 812, 814, 816, 818, 820, 840, 842, 844,850 be included in the apparatus 810 without deviating from the scope ofembodiments described herein.

According to some embodiments, the processor 812 may be or include anytype, quantity, and/or configuration of processor that is or becomesknown. The processor 812 may comprise, for example, an Intel® IXP 2800network processor or an Intel® XEON™ Processor coupled with an Intel®E6501 chipset. In some embodiments, the processor 812 may comprisemultiple interconnected processors, microprocessors, and/ormicro-engines. According to some embodiments, the processor 812 (and/orthe apparatus 810 and/or other components thereof) may be supplied powervia a power supply (not shown), such as a battery, an AlternatingCurrent (AC) source, a Direct Current (DC) source, an AC/DC adapter,solar cells, and/or an inertial generator. In the case that theapparatus 810 comprises a server, such as a blade server, necessarypower may be supplied via a standard AC outlet, power strip, surgeprotector, and/or Uninterruptible Power Supply (UPS) device.

In some embodiments, the transceiver device 814 may comprise any type orconfiguration of communication device that is or becomes known orpracticable. The transceiver device 814 may, for example, comprise aNetwork Interface Card (NIC), a telephonic device, a cellular networkdevice, a router, a hub, a modem, and/or a communications port or cable.According to some embodiments, the transceiver device 814 may also oralternatively be coupled to the processor 812. In some embodiments, thetransceiver device 814 may comprise an IR, RF, Bluetooth™, Near-FieldCommunication (NFC), and/or Wi-Fi® network device coupled to facilitatecommunications between the processor 812 and another device (not shown).

According to some embodiments, the input device 816 and/or the outputdevice 818 may be communicatively coupled to the processor 812 (e.g.,via wired and/or wireless connections and/or pathways) and they maygenerally comprise any types or configurations of input and outputcomponents and/or devices that are or become known, respectively. Theinput device 816 may comprise, for example, a keyboard that allows anoperator of the apparatus 810 to interface with the apparatus 810 (e.g.,a user, such as to initiate and/or review AI-based structural locationassessments, as described herein). The output device 818 may, accordingto some embodiments, comprise a display screen and/or other practicableoutput component and/or device. The output device 818 may, for example,provide an interface (such as the interface 820) via which AIthree-dimensional modeling, assessment, and/or analysis data orinformation is provided to a user (e.g., via a website and/or mobileapplication). According to some embodiments, the input device 816 and/orthe output device 818 may comprise and/or be embodied in a singledevice, such as a touch-screen monitor or display.

The memory device 840 may comprise any appropriate information storagedevice that is or becomes known or available, including, but not limitedto, units and/or combinations of magnetic storage devices (e.g., a harddisk drive), optical storage devices, and/or semiconductor memorydevices, such as RAM devices, Read Only Memory (ROM) devices, SingleData Rate Random Access Memory (SDR-RAM), Double Data Rate Random AccessMemory (DDR-RAM), and/or Programmable Read Only Memory (PROM). Thememory device 840 may, according to some embodiments, store one or moreof image acquisition instructions 842-1, AI image processinginstructions 842-2, rule application instructions 842-3, and/orinterface instructions 842-4, image data 844-1, location data 844-2,object data 844-3, and/or rules data 844-4. In some embodiments, theimage acquisition instructions 842-1, AI image processing instructions842-2, rule application instructions 842-3, and/or interfaceinstructions 842-4, image data 844-1, location data 844-2, object data844-3, and/or rules data 844-4 may be utilized by the processor 812 toprovide output information via the output device 818 and/or thetransceiver device 814.

According to some embodiments, the image acquisition instructions 842-1may be operable to cause the processor 812 to process image data 844-1,location data 844-2, object data 844-3, and/or rules data 844-4 inaccordance with embodiments as described herein. Image data 844-1,location data 844-2, object data 844-3, and/or rules data 844-4 receivedvia the input device 816 and/or the transceiver device 814 may, forexample, be analyzed, sorted, filtered, decoded, decompressed, ranked,scored, plotted, and/or otherwise processed by the processor 812 inaccordance with the image acquisition instructions 842-1. In someembodiments, image data 844-1, location data 844-2, object data 844-3,and/or rules data 844-4 may be fed by the processor 812 through one ormore mathematical and/or statistical formulas and/or models inaccordance with the image acquisition instructions 842-1 to acquireand/or direct the acquisition of one or more images and/or other sensordata descriptive of a three hundred and sixty degree (360°)representation of a particular location (e.g., a room), as describedherein.

In some embodiments, the AI image processing instructions 842-2 may beoperable to cause the processor 812 to process image data 844-1,location data 844-2, object data 844-3, and/or rules data 844-4 inaccordance with embodiments as described herein. Image data 844-1,location data 844-2, object data 844-3, and/or rules data 844-4 receivedvia the input device 816 and/or the transceiver device 814 may, forexample, be analyzed, sorted, filtered, decoded, decompressed, ranked,scored, plotted, and/or otherwise processed by the processor 812 inaccordance with the AI image processing instructions 842-2. In someembodiments, image data 844-1, location data 844-2, object data 844-3,and/or rules data 844-4 may be fed by the processor 812 through one ormore mathematical and/or statistical formulas and/or models inaccordance with the AI image processing instructions 842-2 to processreceived images/data by identifying features and/or characteristics ofthe location as represented in the images/data and/or processing andprojecting representations of such items into a three-dimensional model,as described herein.

According to some embodiments, the rule application instructions 842-3may be operable to cause the processor 812 to process image data 844-1,location data 844-2, object data 844-3, and/or rules data 844-4 inaccordance with embodiments as described herein. Image data 844-1,location data 844-2, object data 844-3, and/or rules data 844-4 receivedvia the input device 816 and/or the transceiver device 814 may, forexample, be analyzed, sorted, filtered, decoded, decompressed, ranked,scored, plotted, and/or otherwise processed by the processor 812 inaccordance with the rule application instructions 842-3. In someembodiments, image data 844-1, location data 844-2, object data 844-3,and/or rules data 844-4 may be fed by the processor 812 through one ormore mathematical and/or statistical formulas and/or models inaccordance with the rule application instructions 842-3 to conduct anAI-based analysis and/or assessment (utilizing one or more AI programsand/or rule sets) of a structural location by scoring, ranking, and/orassessing features and/or characteristics of the location (e.g., asrepresented in the three-dimensional model), as described herein.

In some embodiments, the interface instructions 842-4 may be operable tocause the processor 812 to process image data 844-1, location data844-2, object data 844-3, and/or rules data 844-4 in accordance withembodiments as described herein. Image data 844-1, location data 844-2,object data 844-3, and/or rules data 844-4 received via the input device816 and/or the transceiver device 814 may, for example, be analyzed,sorted, filtered, decoded, decompressed, ranked, scored, plotted, and/orotherwise processed by the processor 812 in accordance with theinterface instructions 842-4. In some embodiments, image data 844-1,location data 844-2, object data 844-3, and/or rules data 844-4 may befed by the processor 812 through one or more mathematical and/orstatistical formulas and/or models in accordance with the interfaceinstructions 842-4 to provide various interfaces to end-users,consumers, companies, and/or other users to facilitate structurallocation assessment utilizing a three-dimensional model of the location,as described herein.

According to some embodiments, the apparatus 810 may comprise thecooling device 850. According to some embodiments, the cooling device850 may be coupled (physically, thermally, and/or electrically) to theprocessor 812 and/or to the memory device 840. The cooling device 850may, for example, comprise a fan, heat sink, heat pipe, radiator, coldplate, and/or other cooling component or device or combinations thereof,configured to remove heat from portions or components of the apparatus810.

Any or all of the exemplary instructions and data types described hereinand other practicable types of data may be stored in any number, type,and/or configuration of memory devices that is or becomes known. Thememory device 840 may, for example, comprise one or more data tables orfiles, databases, table spaces, registers, and/or other storagestructures. In some embodiments, multiple databases and/or storagestructures (and/or multiple memory devices 840) may be utilized to storeinformation associated with the apparatus 810. According to someembodiments, the memory device 840 may be incorporated into and/orotherwise coupled to the apparatus 810 (e.g., as shown) or may simply beaccessible to the apparatus 810 (e.g., externally located and/orsituated).

Referring now to FIG. 9A, FIG. 9B, FIG. 9C, FIG. 9D, and FIG. 9E,perspective diagrams of exemplary data storage devices 940 a-e accordingto some embodiments are shown. The data storage devices 940 a-e may, forexample, be utilized to store instructions and/or data, such as theimage acquisition instructions 842-1, AI image processing instructions842-2, rule application instructions 842-3, and/or interfaceinstructions 842-4, image data 844-1, location data 844-2, object data844-3, and/or rules data 844-4, each of which is presented in referenceto FIG. 8 herein. In some embodiments, instructions stored on the datastorage devices 940 a-e may, when executed by a processor, cause theimplementation of and/or facilitate the methods/processes 400, 600 ofFIG. 4 and/or FIG. 6 herein, and/or portions or combinations thereof.

According to some embodiments, the first data storage device 940 a maycomprise one or more various types of internal and/or external harddrives. The first data storage device 940 a may, for example, comprise adata storage medium 946 that is read, interrogated, and/or otherwisecommunicatively coupled to and/or via a disk reading device 948. In someembodiments, the first data storage device 940 a and/or the data storagemedium 946 may be configured to store information utilizing one or moremagnetic, inductive, and/or optical means (e.g., magnetic, inductive,and/or optical-encoding). The data storage medium 946, depicted as afirst data storage medium 946 a for example (e.g., breakoutcross-section “A”), may comprise one or more of a polymer layer 946 a-1,a magnetic data storage layer 946 a-2, a non-magnetic layer 946 a-3, amagnetic base layer 946 a-4, a contact layer 946 a-5, and/or a substratelayer 946 a-6. According to some embodiments, a magnetic read head 948 amay be coupled and/or disposed to read data from the magnetic datastorage layer 946 a-2.

In some embodiments, the data storage medium 946, depicted as a seconddata storage medium 946 b for example (e.g., breakout cross-section“B”), may comprise a plurality of data points 946 b-2 disposed with thesecond data storage medium 946 b. The data points 946 b-2 may, in someembodiments, be read and/or otherwise interfaced with via alaser-enabled read head 948 b disposed and/or coupled to direct a laserbeam through the second data storage medium 946 b.

In some embodiments, the second data storage device 940 b may comprise aCD, CD-ROM, DVD, Blu-Ray™ Disc, and/or other type of optically-encodeddisk and/or other storage medium that is or becomes known orpracticable. In some embodiments, the third data storage device 940 cmay comprise a USB keyfob, dongle, and/or other type of flash memorydata storage device that is or becomes known or practicable. In someembodiments, the fourth data storage device 940 d may comprise RAM ofany type, quantity, and/or configuration that is or becomes practicableand/or desirable. In some embodiments, the fourth data storage device940 d may comprise an off-chip cache, such as a Level 2 (L2) cachememory device. According to some embodiments, the fifth data storagedevice 940 e may comprise an on-chip memory device, such as a Level 1(L1) cache memory device.

The data storage devices 940 a-e may generally store programinstructions, code, and/or modules that, when executed by a processingdevice cause a particular machine to function in accordance with one ormore embodiments described herein. The data storage devices 940 a-edepicted in FIG. 9A, FIG. 9B, FIG. 9C, FIG. 9D, and FIG. 9E arerepresentative of a class and/or subset of computer-readable media thatare defined herein as “computer-readable memory” (e.g., non-transitorymemory devices as opposed to transmission devices or media).

Throughout the description herein and unless otherwise specified, thefollowing terms may include and/or encompass the example meaningsprovided. These terms and illustrative example meanings are provided toclarify the language selected to describe embodiments both in thespecification and in the appended claims, and accordingly, are notintended to be generally limiting. While not generally limiting andwhile not limiting for all described embodiments, in some embodiments,the terms are specifically limited to the example definitions and/orexamples provided. Other terms are defined throughout the presentdescription.

Some embodiments described herein are associated with a “user device” ora “network device”. As used herein, the terms “user device” and “networkdevice” may be used interchangeably and may generally refer to anydevice that can communicate via a network. Examples of user or networkdevices include a PC, a workstation, a server, a printer, a scanner, afacsimile machine, a copier, a Personal Digital Assistant (PDA), astorage device (e.g., a disk drive), a hub, a router, a switch, and amodem, a video game console, or a wireless phone. User and networkdevices may comprise one or more communication or network components. Asused herein, a “user” may generally refer to any individual and/orentity that operates a user device. Users may comprise, for example,customers, consumers, product underwriters, product distributors,customer service representatives, agents, brokers, etc.

As used herein, the term “network component” may refer to a user ornetwork device, or a component, piece, portion, or combination of useror network devices. Examples of network components may include a StaticRandom Access Memory (SRAM) device or module, a network processor, and anetwork communication path, connection, port, or cable.

In addition, some embodiments are associated with a “network” or a“communication network”. As used herein, the terms “network” and“communication network” may be used interchangeably and may refer to anyobject, entity, component, device, and/or any combination thereof thatpermits, facilitates, and/or otherwise contributes to or is associatedwith the transmission of messages, packets, signals, and/or other formsof information between and/or within one or more network devices.Networks may be or include a plurality of interconnected networkdevices. In some embodiments, networks may be hard-wired, wireless,virtual, neural, and/or any other configuration or type that is orbecomes known. Communication networks may include, for example, one ormore networks configured to operate in accordance with the Fast EthernetLAN transmission standard 802.3-2002® published by the Institute ofElectrical and Electronics Engineers (IEEE). In some embodiments, anetwork may include one or more wired and/or wireless networks operatedin accordance with any communication standard or protocol that is orbecomes known or practicable.

As used herein, the terms “information” and “data” may be usedinterchangeably and may refer to any data, text, voice, video, image,message, bit, packet, pulse, tone, waveform, and/or other type orconfiguration of signal and/or information. Information may compriseinformation packets transmitted, for example, in accordance with theInternet Protocol Version 6 (IPv6) standard as defined by “InternetProtocol Version 6 (IPv6) Specification” RFC 1883, published by theInternet Engineering Task Force (IETF), Network Working Group, S.Deering et al. (December 1995). Information may, according to someembodiments, be compressed, encoded, encrypted, and/or otherwisepackaged or manipulated in accordance with any method that is or becomesknown or practicable.

In addition, some embodiments described herein are associated with an“indication”. As used herein, the term “indication” may be used to referto any indicia and/or other information indicative of or associated witha subject, item, entity, and/or other object and/or idea. As usedherein, the phrases “information indicative of” and “indicia” may beused to refer to any information that represents, describes, and/or isotherwise associated with a related entity, subject, or object. Indiciaof information may include, for example, a code, a reference, a link, asignal, an identifier, and/or any combination thereof and/or any otherinformative representation associated with the information. In someembodiments, indicia of information (or indicative of the information)may be or include the information itself and/or any portion or componentof the information. In some embodiments, an indication may include arequest, a solicitation, a broadcast, and/or any other form ofinformation gathering and/or dissemination.

Numerous embodiments are described in this patent application, and arepresented for illustrative purposes only. The described embodiments arenot, and are not intended to be, limiting in any sense. The presentlydisclosed invention(s) are widely applicable to numerous embodiments, asis readily apparent from the disclosure. One of ordinary skill in theart will recognize that the disclosed invention(s) may be practiced withvarious modifications and alterations, such as structural, logical,software, and electrical modifications. Although particular features ofthe disclosed invention(s) may be described with reference to one ormore particular embodiments and/or drawings, it should be understoodthat such features are not limited to usage in the one or moreparticular embodiments or drawings with reference to which they aredescribed, unless expressly specified otherwise.

Devices that are in communication with each other need not be incontinuous communication with each other, unless expressly specifiedotherwise. On the contrary, such devices need only transmit to eachother as necessary or desirable, and may actually refrain fromexchanging data most of the time. For example, a machine incommunication with another machine via the Internet may not transmitdata to the other machine for weeks at a time. In addition, devices thatare in communication with each other may communicate directly orindirectly through one or more intermediaries.

A description of an embodiment with several components or features doesnot imply that all or even any of such components and/or features arerequired. On the contrary, a variety of optional components aredescribed to illustrate the wide variety of possible embodiments of thepresent invention(s). Unless otherwise specified explicitly, nocomponent and/or feature is essential or required.

Further, although process steps, algorithms or the like may be describedin a sequential order, such processes may be configured to work indifferent orders. In other words, any sequence or order of steps thatmay be explicitly described does not necessarily indicate a requirementthat the steps be performed in that order. The steps of processesdescribed herein may be performed in any order practical. Further, somesteps may be performed simultaneously despite being described or impliedas occurring non-simultaneously (e.g., because one step is describedafter the other step). Moreover, the illustration of a process by itsdepiction in a drawing does not imply that the illustrated process isexclusive of other variations and modifications thereto, does not implythat the illustrated process or any of its steps are necessary to theinvention, and does not imply that the illustrated process is preferred.

“Determining” something can be performed in a variety of manners andtherefore the term “determining” (and like terms) includes calculating,computing, deriving, looking up (e.g., in a table, database or datastructure), ascertaining and the like. The term “computing” as utilizedherein may generally refer to any number, sequence, and/or type ofelectronic processing activities performed by an electronic device, suchas, but not limited to looking up (e.g., accessing a lookup table orarray), calculating (e.g., utilizing multiple numeric values inaccordance with a mathematic formula), deriving, and/or defining.

It will be readily apparent that the various methods and algorithmsdescribed herein may be implemented by, e.g., appropriately and/orspecially-programmed computers and/or computing devices. Typically aprocessor (e.g., one or more microprocessors) will receive instructionsfrom a memory or like device, and execute those instructions, therebyperforming one or more processes defined by those instructions. Further,programs that implement such methods and algorithms may be stored andtransmitted using a variety of media (e.g., computer readable media) ina number of manners. In some embodiments, hard-wired circuitry or customhardware may be used in place of, or in combination with, softwareinstructions for implementation of the processes of various embodiments.Thus, embodiments are not limited to any specific combination ofhardware and software.

A “processor” generally means any one or more microprocessors, CPUdevices, computing devices, microcontrollers, digital signal processors,or like devices, as further described herein.

The term “computer-readable medium” refers to any medium thatparticipates in providing data (e.g., instructions or other information)that may be read by a computer, a processor or a like device. Such amedium may take many forms, including but not limited to, non-volatilemedia, volatile media, and transmission media. Non-volatile mediainclude, for example, optical or magnetic disks and other persistentmemory. Volatile media include DRAM, which typically constitutes themain memory. Transmission media include coaxial cables, copper wire andfiber optics, including the wires that comprise a system bus coupled tothe processor. Transmission media may include or convey acoustic waves,light waves and electromagnetic emissions, such as those generatedduring RF and IR data communications. Common forms of computer-readablemedia include, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, any other magnetic medium, a CD-ROM, DVD, any otheroptical medium, punch cards, paper tape, any other physical medium withpatterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any othermemory chip or cartridge, a carrier wave, or any other medium from whicha computer can read.

The term “computer-readable memory” may generally refer to a subsetand/or class of computer-readable medium that does not includetransmission media, such as waveforms, carrier waves, electromagneticemissions, etc. Computer-readable memory may typically include physicalmedia upon which data (e.g., instructions or other information) arestored, such as optical or magnetic disks and other persistent memory,DRAM, a floppy disk, a flexible disk, hard disk, magnetic tape, anyother magnetic medium, a CD-ROM, DVD, any other optical medium, punchcards, paper tape, any other physical medium with patterns of holes, aRAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip orcartridge, computer hard drives, backup tapes, Universal Serial Bus(USB) memory devices, and the like.

Various forms of computer readable media may be involved in carryingdata, including sequences of instructions, to a processor. For example,sequences of instruction (i) may be delivered from RAM to a processor,(ii) may be carried over a wireless transmission medium, and/or (iii)may be formatted according to numerous formats, standards or protocols,such as Bluetooth™, TDMA, CDMA, 3G.

Where databases are described, it will be understood by one of ordinaryskill in the art that (i) alternative database structures to thosedescribed may be readily employed, and (ii) other memory structuresbesides databases may be readily employed. Any illustrations ordescriptions of any sample databases presented herein are illustrativearrangements for stored representations of information. Any number ofother arrangements may be employed besides those suggested by, e.g.,tables illustrated in drawings or elsewhere. Similarly, any illustratedentries of the databases represent exemplary information only; one ofordinary skill in the art will understand that the number and content ofthe entries can be different from those described herein. Further,despite any depiction of the databases as tables, other formats(including relational databases, object-based models and/or distributeddatabases) could be used to store and manipulate the data typesdescribed herein. Likewise, object methods or behaviors of a databasecan be used to implement various processes, such as those describedherein. In addition, the databases may, in a known manner, be storedlocally or remotely from a device that accesses data in such a database.

The present invention can be configured to work in a network environmentincluding a computer that is in communication, via a communicationsnetwork, with one or more devices. The computer may communicate with thedevices directly or indirectly, via a wired or wireless medium, such asthe Internet, LAN, WAN or Ethernet, Token Ring, or via any appropriatecommunications means or combination of communications means. Each of thedevices may comprise computers, such as those based on the Intel®Pentium® or Centrino™ processor, that are adapted to communicate withthe computer. Any number and type of machines may be in communicationwith the computer.

The present disclosure provides, to one of ordinary skill in the art, anenabling description of several embodiments and/or inventions. Some ofthese embodiments and/or inventions may not be claimed in the presentapplication, but may nevertheless be claimed in one or more continuingapplications that claim the benefit of priority of the presentapplication. Applicant intends to file additional applications to pursuepatents for subject matter that has been disclosed and enabled but notclaimed in the present application.

It will be understood that various modifications can be made to theembodiments of the present disclosure herein without departing from thescope thereof. Therefore, the above description should not be construedas limiting the disclosure, but merely as embodiments thereof. Thoseskilled in the art will envision other modifications within the scope ofthe invention as defined by the claims appended hereto.

What is claimed is:
 1. An Artificial Intelligence (AI) three-dimensionalmodeling method, comprising: receiving, by an electronic processingdevice, at least one image descriptive of a room as viewed from aplurality of perspectives; identifying, by the electronic processingdevice and from the at least one image, a plurality of corners of theroom that are represented at a plurality of respective corner portionsof the at least one image; identifying, by the electronic processingdevice and based on the identified plurality of corners of the room, atleast one camera location within the room; identifying, by theelectronic processing device and based on the identified plurality ofcorners of the room and the identified at least one camera locationwithin the room, a plurality of walls of the room that are representedby a plurality of respective wall portions of the at least one image;segmenting, by the electronic processing device and based on theidentified plurality of walls of the room, the image into the pluralityof respective wall portions of the at least one image; normalizing, bythe electronic processing device, the plurality of respective wallportions of the at least one image; defining, by the electronicprocessing device, an array of coordinates for each of the plurality ofrespective wall portions of the at least one image; projecting, by theelectronic processing device and utilizing the array of coordinates foreach of the plurality of respective wall portions of the at least oneimage, the plurality of respective wall portions of the at least oneimage into a three-dimensional model; identifying, by the electronicprocessing device, an object within the at least one image; classifying,by the electronic processing device, the object, thereby defining aclassification of the object; identifying, by the electronic processingdevice and based on the classifying of the object, a rule for theobject, wherein the identifying comprises querying, utilizing datadescriptive of the classification of the object, a plurality of storedrules and identifying, from the plurality of stored rules, the rule forthe object; calculating, by the electronic processing device and basedon the rule, an assessment for the room; and outputting, by theelectronic processing device, an indication of the assessment.
 2. The AIthree-dimensional modeling method of claim 1, wherein the at least oneimage descriptive of the room as viewed from the plurality ofperspectives comprises a series of images captured from differentperspectives in the room.
 3. The AI three-dimensional modeling method ofclaim 1, wherein the at least one image descriptive of the room asviewed from the plurality of perspectives comprises a panoramic image ofthe room.
 4. The AI three-dimensional modeling method of claim 1,wherein the identifying of the at least one camera location within theroom comprises calculating the at least one camera location utilizing aparallax angle.
 5. The AI three-dimensional modeling method of claim 1,wherein the plurality of corners of the room comprise at least fourcorners.
 6. The AI three-dimensional modeling method of claim 1, whereinthe plurality of walls of the room comprise at least four walls.
 7. TheAI three-dimensional modeling method of claim 1, wherein the normalizingof the plurality of respective wall portions of the at least one imagecomprises transforming, for each respective wall portion, a plurality ofcoordinates of the array of coordinates from a first location to asecond location bounded within a rectilinear frame.
 8. The AIthree-dimensional modeling method of claim 1, wherein the objectcomprises a doorway, and wherein the classifying of the object comprisesmatching at least one feature of the doorway to at least one of a storedset of features for doorways.
 9. The AI three-dimensional modelingmethod of claim 8, wherein the rule for the object comprises a mappingof an area of the doorway to a value for an assessment metric, andwherein the calculating of the assessment for the room comprises:measuring, from the at least one image and based on a subset of thearray of coordinates descriptive of a position of the doorway, the areaof the doorway; and computing, based on the rule and the measured areaof the doorway, the value for the assessment metric.
 10. The AIthree-dimensional modeling method of claim 1, wherein the objectcomprises a window, and wherein the classifying of the object comprisesmatching at least one feature of the window to a at least one of astored set of features for windows.
 11. The AI three-dimensionalmodeling method of claim 10, wherein the rule for the object comprises amapping of an area of the window to a value for an assessment metric,and wherein the calculating of the assessment for the room comprises:measuring, from the at least one image and based on a subset of thearray of coordinates descriptive of a position of the window, the areaof the window; and computing, based on the rule and the measured area ofthe window, the value for the assessment metric.
 12. The AIthree-dimensional modeling method of claim 1, wherein the objectcomprises a first object and comprises a furnishing of the room, andwherein the rule for the object comprises a first rule, furthercomprising: identifying, by the electronic processing device, a secondobject within the at least one image, wherein the second objectcomprises a furnishing of the room; classifying, by the electronicprocessing device, the second object; and identifying, by the electronicprocessing device and based on the classifying of the second object, asecond rule for the second object.
 13. The AI three-dimensional modelingmethod of claim 12, wherein the calculating of the assessment for theroom is further based on the second rule.
 14. The AI three-dimensionalmodeling method of claim 13, wherein the first rule comprises a rulebased on at least one of a quantity, brand, and condition of the firstobject and wherein the second rule comprises a rule based on at leastone of a quantity, brand, and condition of the second object.
 15. The AIthree-dimensional modeling method of claim 13, wherein at least one ofthe first rule and the second rule comprises a condition defining aminimum distance threshold between the first object and the secondobject and wherein the assessment comprises a score that is reduced in acase where a distance between the first object and the second objectfails to meet the condition.
 16. The AI three-dimensional modelingmethod of claim 13, wherein the first rule for the first objectcomprises a first formula that defines a first value for a firstassessment metric based on a first attribute of the first object,wherein the second rule for the second object comprises a second formulathat defines a second value for a second assessment metric based on asecond attribute of the second object, and wherein the calculating ofthe assessment for the room comprises at least one of: (i) adding thefirst and second values, (ii) subtracting the first and second values,and (iii) averaging the first and second values.
 17. The AIthree-dimensional modeling method of claim 1, further comprising:initiating a communication session with a user of a mobile electronicdevice; receiving real-time imagery from an image device of the mobileelectronic device; and transmitting, to the mobile electronic device, aninstruction defining how the user should acquire the at least one imagedescriptive of the room.
 18. The AI three-dimensional modeling method ofclaim 17, wherein the instruction defines at least one of theperspectives from the plurality of perspectives.
 19. The AIthree-dimensional modeling method of claim 1, wherein the objectcomprises a plurality of different objects, the rule comprises adifferent rule for each object of the plurality of objects, and whereinthe calculating of the assessment, comprises: evaluating, for eachdifferent rule, whether a condition of the rule is met; computing, basedon the evaluation and for each different rule, a number of points; andsumming the number of points for all the rules, thereby defining a totalnumber of points for the assessment.
 20. The AI three-dimensionalmodeling method of claim 19, wherein at least one object of theplurality of objects comprise a furnishing of the room.